"# GC171C,44.70605,-85.62265,The Michigan Frog by RealDcoy & LRB,http://www.geocaching.com/seek/cache_details.aspx?ID=5916,Traditional Cache\n"
"#\n"
-"DESCRIPTION Microsoft Streets and Trips 2002-2006\n"
+"DESCRIPTION Microsoft Streets and Trips 2002-2007\n"
"EXTENSION txt\n"
"IFIELD SHORTNAME, \"\", \"%s\"\n"
"IFIELD CONSTANT, \"0\", \"%s\"\n"
;
+static char xmap[] =
+"# gpsbabel XCSV style file\n"
+"#\n"
+"# Format: DeLorme Xmap Conduit\n"
+"# Author: Alex Mottram\n"
+"# Date: 12/09/2002\n"
+"#\n"
+"# \n"
+"# As defined in csv.c/xmap\n"
+"#\n"
+
+"DESCRIPTION DeLorme XMap HH Native .WPT\n"
+"EXTENSION wpt\n"
+
+"#\n"
+"# FILE LAYOUT DEFINITIIONS:\n"
+"#\n"
+"FIELD_DELIMITER COMMASPACE\n"
+"RECORD_DELIMITER NEWLINE\n"
+"BADCHARS COMMA\n"
+
+"PROLOGUE BEGIN SYMBOL\n"
+"EPILOGUE END\n"
+"#\n"
+"# INDIVIDUAL DATA FIELDS, IN ORDER OF APPEARANCE:\n"
+"#\n"
+"IFIELD LAT_HUMAN_READABLE, \"\", \"%08.5f\"\n"
+"IFIELD LON_HUMAN_READABLE, \"\", \"%08.5f\"\n"
+"IFIELD DESCRIPTION, \"\", \"%s\"\n"
+
+"OFIELD LAT_DECIMAL, \"\", \"%08.5f\"\n"
+"OFIELD LON_DECIMAL, \"\", \"%08.5f\"\n"
+"OFIELD DESCRIPTION, \"\", \"%s\"\n"
+;
static char xmap2006[] =
"# gpsbabel XCSV style file\n"
"#\n"
-;
-static char xmap[] =
-"# gpsbabel XCSV style file\n"
-"#\n"
-"# Format: DeLorme Xmap Conduit\n"
-"# Author: Alex Mottram\n"
-"# Date: 12/09/2002\n"
-"#\n"
-"# \n"
-"# As defined in csv.c/xmap\n"
-"#\n"
-
-"DESCRIPTION DeLorme XMap HH Native .WPT\n"
-"EXTENSION wpt\n"
-
-"#\n"
-"# FILE LAYOUT DEFINITIIONS:\n"
-"#\n"
-"FIELD_DELIMITER COMMASPACE\n"
-"RECORD_DELIMITER NEWLINE\n"
-"BADCHARS COMMA\n"
-
-"PROLOGUE BEGIN SYMBOL\n"
-"EPILOGUE END\n"
-"#\n"
-"# INDIVIDUAL DATA FIELDS, IN ORDER OF APPEARANCE:\n"
-"#\n"
-"IFIELD LAT_HUMAN_READABLE, \"\", \"%08.5f\"\n"
-"IFIELD LON_HUMAN_READABLE, \"\", \"%08.5f\"\n"
-"IFIELD DESCRIPTION, \"\", \"%s\"\n"
-
-"OFIELD LAT_DECIMAL, \"\", \"%08.5f\"\n"
-"OFIELD LON_DECIMAL, \"\", \"%08.5f\"\n"
-"OFIELD DESCRIPTION, \"\", \"%s\"\n"
;
static char xmapwpt[] =
"# gpsbabel XCSV style file\n"
"IFIELD IGNORE, \"\", \"%-.31s\"\n"
"IFIELD DESCRIPTION, \"\", \"%-.78s\"\n"
;
-style_vecs_t style_list[] = {{ "xmapwpt", xmapwpt } , { "xmap", xmap } , { "xmap2006", xmap2006 } , { "tomtom_itn", tomtom_itn } , { "tomtom_asc", tomtom_asc } , { "tabsep", tabsep } , { "sportsim", sportsim } , { "saplus", saplus } , { "s_and_t", s_and_t } , { "openoffice", openoffice } , { "nima", nima } , { "mxf", mxf } , { "mapconverter", mapconverter } , { "kwf2", kwf2 } , { "ktf2", ktf2 } , { "kompass_wp", kompass_wp } , { "kompass_tk", kompass_tk } , { "gpsman", gpsman } , { "gpsdrivetrack", gpsdrivetrack } , { "gpsdrive", gpsdrive } , { "geonet", geonet } , { "garmin_poi", garmin_poi } , { "garmin301", garmin301 } , { "fugawi", fugawi } , { "dna", dna } , { "custom", custom } , { "cup", cup } , { "csv", csv } , { "cambridge", cambridge } , { "arc", arc } , {0,0}};
+style_vecs_t style_list[] = {{ "xmapwpt", xmapwpt } , { "xmap2006", xmap2006 } , { "xmap", xmap } , { "tomtom_itn", tomtom_itn } , { "tomtom_asc", tomtom_asc } , { "tabsep", tabsep } , { "sportsim", sportsim } , { "saplus", saplus } , { "s_and_t", s_and_t } , { "openoffice", openoffice } , { "nima", nima } , { "mxf", mxf } , { "mapconverter", mapconverter } , { "kwf2", kwf2 } , { "ktf2", ktf2 } , { "kompass_wp", kompass_wp } , { "kompass_tk", kompass_tk } , { "gpsman", gpsman } , { "gpsdrivetrack", gpsdrivetrack } , { "gpsdrive", gpsdrive } , { "geonet", geonet } , { "garmin_poi", garmin_poi } , { "garmin301", garmin301 } , { "fugawi", fugawi } , { "dna", dna } , { "custom", custom } , { "cup", cup } , { "csv", csv } , { "cambridge", cambridge } , { "arc", arc } , {0,0}};
size_t nstyles = 30;
#else /* CSVFMTS_ENABLED */
style_vecs_t style_list[] = {{0,0}};
# GC171C,44.70605,-85.62265,The Michigan Frog by RealDcoy & LRB,http://www.geocaching.com/seek/cache_details.aspx?ID=5916,Traditional Cache
#
-DESCRIPTION Microsoft Streets and Trips 2002-2006
+DESCRIPTION Microsoft Streets and Trips 2002-2007
EXTENSION txt
</para>
<para><userinput>./configure --help</userinput></para>
<para>
-lists all the supported options, but additionally we have:</para><para>
+lists all the supported options, but of interest we have:</para><para>
<option>--disable-shapefile</option> Excludes the shapefile support.
</para>
<para>
<option>--enable-efence</option> Activate debugging mode for gpsbabel-debug.
</para>
<para>
- <option>--with-doc=dir</option> Specify that the doc should be created and installed in <option>dir</option>.
+ <option>--with-doc=</option><filename class="directory">dir</filename> Specifies that the doc should be created and installed in <filename class="directory">dir</filename>.
</para>
<para>
<option>--without-libusb</option> Disables use of libusb, even it's it's available.
is a program that converts data bewteen the two programs.
</para>
<para>
-But GPSBabel actually does much more...
+GPSBabel actually solves that problem for you and much more...
</para>
</section>
<section id="The_Solution">
<title>The Solution</title>
<para> The original author of GPSBabel, <ulink url="/people/robertlipe.html">Robert Lipe</ulink>, needed to convert waypoints between a couple of formats, so he
-whipped up a converter and based it on an extensible foundation so
+whipped up a converter and designed it upon an extensible foundation so
that it was easy to add new formats and made the program freely available. <ulink url="/people/index.html">Many others</ulink> have contributed to the program since then.</para>
<para> Most file formats added so far have taken under 200
lines of reasonable ISO C so they can be stamped
</seglistitem>
<seglistitem>
<seg><option>-F</option> <parameter class="command">filename</parameter></seg>
- <seg>Write output File</seg>
+ <seg>Write output file</seg>
</seglistitem>
</segmentedlist>
+<important>
+<para>
+Case matters. Notably <option>-f</option> (lowercase) sets the <emphasis>input</emphasis> file. <option> -F</option> (uppercase) sets the <emphasis>output</emphasis> file.
+</para>
+</important>
<para>
The <parameter class="command">format</parameter> parameters in the above list
<para>
Options are <emphasis>always</emphasis> processed in order from left to right.
In practical terms, this means that things you want to read should appear
-in the command before things you want to write.
+in the command before things you want to write. This sometimes surprises
+new users as adding options to turn on debugging at the end, for example,
+doesn't work as the debugging is turned on after all the interesting work is
+done. The reason for this strict ordering becomes more apparent once you
+learn about mixing formats and filters.
</para>
<para>
The <parameter class="command">filename</parameter> parameters specify the
</para>
<para>To use
- this program, just tell it what you're reading, where to read
+ GPSBabel in its simplest form, just tell it what you're reading, where to read
it from, what you're writing, and what to write it to. For
example:</para>
<para><userinput>gpsbabel -i geo -f /tmp/geocaching.loc -o gpx -F /tmp/geocaching.gpx</userinput></para>
<para>tells it to read the file <filename>/tmp/geocaching.loc</filename> in geocaching.com
- format and create a new file <filename>/tmp/geocaching.gpx</filename> in GPX format. It's important to note that the names have nothign to do with the formats actually used.</para>
+ format and create a new file <filename>/tmp/geocaching.gpx</filename> in GPX format. It's important to note that the names have nothing to do with the formats actually used.</para>
<para> This command will read from a Magellan unit attached
to the first serial port on a Linux system (device names will
- vary on other OSes) and write them as a geocaching loc file.</para>
+ vary on other OSes; typically COMx: on WIndows) and write them as a geocaching loc file.</para>
<para><userinput>gpsbabel -i magellan -f /dev/ttyS0 -o geo -F mag.loc</userinput></para>
<para>This second command does the same on Microsoft Windows.</para>
<para><userinput>gpsbabel -i magellan -f com1 -o geo -F mag.loc</userinput></para>
long name. This is particularly useful if you're writing to
a target format that isn't the lowest common denominator but
the source data was written for the lowest common
- denominator. I use this for writing data from geocaching.com
- to my Magellan so my waypoints have "real" names instead of
- the 'GC1234' ones that are optimized for NMEA-only receivers.
- A geocacher with a Magellan receiver may thus find commands
+ denominator. This is useful for writing data from geocaching.com
+ to a GPS so my waypoints have "real" names instead of
+ the 'GC1234' ones that are optimized for receivers of the lowest
+ common denominator.
+ A geocacher using Linux with a Magellan receiver may thus find commands
like this useful.</para>
<para><userinput>gpsbabel -s -i geo -f geocaching.loc -o magellan -F /dev/ttyS0 </userinput></para>
+ <para>His counterpart on Windows will find this equivalent</para>
<para><userinput>gpsbabel -s -i geo -f geocaching.loc -o magellan -F com1</userinput></para>
</sect1>
<sect1 id="Suboptions">
-
<para> There are a billion variants of Comma Separated Value
-data. This is the one that makes <ulink url="http://www.delorme.com">Delorme</ulink> <productname>S&A Deluxe 9</productname> happy. It's
+data. This is the one specifically that makes <ulink url="http://www.delorme.com">Delorme</ulink> <productname>S&A Deluxe 9</productname> happy. It's
also a very simple program and useful for many other programs like
spreadsheets.</para>
<para> CSV is also the correct format for
For something-separated data that has headers identifying the various
fields, see our <link linkend="fmt_unicsv">universal csv</link> format.
</para>
+<example><title>Example 'csv' file</title>
+<programlisting>
+35.97203, -87.13470, Mountain Bike Heaven by susy1313
+36.09068, -86.67955, The Troll by a182pilot & Family
+35.99627, -86.62012, Dive Bomber by JoGPS & family
+36.03848, -86.64862, FOSTER by JoGPS & Family
+</programlisting>
+</example>
<title>Command showing DG-100 download and erase on Linux</title>
<para><userinput>gpsbabel -t -i dg-100,erase -o gpx /dev/ttyUSB0 outputfile.gpx</userinput></para>
</example>
+
+<para>
+The DG-100 provides a physical USB interface to the host computer, but
+internally it uses a Prolific PL-2303 chip to do this. So you must have
+drivers installed on your computer to recognize the PL-2303 and provide
+that data as a serial port to software like GPSBabel. Such software
+comes with the unit for Windows. Prolific provides software for Mac OS/X,
+but unfortunately their driver has a defect which makes it unusable with
+GPSBabel.
+</para>
<para>
GPSBabel's reader of this module attempts to preserve tags it doesn't
really understand. It also tries to glean interesting data from
- <ulink url="http://www.geocaching.com">pocket queries from Geocaching.com</ulink>.
+ <ulink url="http://www.geocaching.com">pocket queries from Geocaching.com</ulink> and Garmin's "gpxx" GPX extensions.
</para>
<para>
KML, the Keyhole Markup Language, is used by Keyhole and
-<ulink url="http://earth.google.com">Google Earth</ulink>. There are features in this file format that GPSBabel
-doesn't support - such as camera views - but waypoints, tracks, and routes
-work well.
+<ulink url="http://earth.google.com">Google Earth</ulink>. There are numerous
+features in this file format that GPSBabel
+doesn't support - such as camera views - but core spport waypoints, tracks, and routes work well.
</para>
<para>
Google Earth also uses GPSBabel internally for receiver communications
and several file format imports and exports.
</para>
+<para>
+In general, GPSBabel's KML writer is relatively strong. GPSBabel handles simple KML on read fairly well, but if you're dealing with handcrafted KML that uses extensive features that have no analog in other formats like nested folders, ringgeometry, camera angles, and such, don't expect GPSBabel to do well with them on read.
+</para>